Overview:
- IronPython is an implementation of the Python Programming language written for the .net framework.
- IronPython scripts can make use of the .net platform and the .net libraries.
- IronPython is built on top of the Dynamic Language Runtime (DLR) of the .net platform, while the DLR itself is built on top of the Common Language Runtime (CLR) of the .net platform.
- IronPython for the most part is written using the C# language.
IronPython, CPython and Python.NET:
- While CPython is the reference implementation of the Python Programming Language offered by the Python Software Foundation, IronPython is the mplementation of the Python Programming Language developed for .net framework.
- Both the language implementations tend to differ in certain functionalities. Similarly, the releases of the CPython-reference implementation and the IronPython implementation differ to a larger extent the later catching up with the former.
- Also the IronPython implementation does not have the bottleneck of Global Interpreter Lock (GIL), which prevents a Python Program running under CPython to exploit the presence multiple cores in the system by using multiple threads.
- The libraries written using C for CPython like numpy are not compatible with IronPython.
- For this reason, if a Python Script is written to make use of the .net platform and also is required to use some of the CPython libraries written in C like numpy, the choice is to go for a solution like Python for .NET (pythonnet) rather than using IronPython.
- Python for .NET package does not implement Python language on top of CLR. Instead, Python for .NET integrates CPython engine with .net runtime.
IronPython Development:
- Being developed as a open source project IronPython is released under Apache License.
- Source code IronPython is available at https://github.com/IronLanguages